package eks.matador;

import java.util.*;

public class Matadorspil
{
    public ArrayList<Felt> felter = new ArrayList<Felt>(); // indeholder alle felter

    public ArrayList<Spiller> spillere = new ArrayList<Spiller>();  // alle spillere

    public int spillersTur = 0;

    public Matadorspil() 
    {
        felter.add(new Start(1000));
        felter.add(new Gade("Rødovrevej", 10000, 400,1000));
        felter.add(new Gade("Hvidovrevej",10000, 400,1000));
        felter.add(new Rederi("Maersk", 17000,4200));
        felter.add(new Gade("Gade 3", 12000, 500,1200));
        felter.add(new Gade("Gade 4", 12000, 500,1200));
        felter.add(new Gade("Gade 5", 15000, 700,1500));
        felter.add(new Helle(5000));
        felter.add(new Gade("Frederiksberg Allé", 20000,1100,2000));
        felter.add(new Gade("Rådhuspladsen",      20000,1100,2000));
        
        spillere.add(new Spiller("Søren",30000));   // opret spiller Søren
        spillere.add(new Spiller("Gitte",30000));   // opret spiller Gitte
        spillere.add(new Spiller("Jacob",30000));   // opret spiller Søren
    }

    public void spilEnTur()
    {
        // tag skiftevis Søren og Gitte (% er forklaret i afsnit 2.11.4)
        spillersTur = spillersTur + 1;
        if (spillersTur>= spillere.size()) spillersTur = 0;

        Spiller sp = spillere.get(spillersTur);
        int slag = (int)(Math.random()*6)+1;     // og slå et terningkast (1-6)
        System.out.println("***** "+sp.navn+" på felt "+sp.feltnr+" slår "+slag);

        for (int i=1; i<=slag; i=i+1)                  // nu rykkes der
        {
          // gå til næste felt. Hvis vi når over antal felter så tæl fra 0
          sp.feltnr = sp.feltnr + 1;
          if (sp.feltnr >= felter.size()) sp.feltnr = 0;

          Felt felt = felter.get(sp.feltnr);

          if (i<slag) felt.passerer(sp); // kald passerer() på passerede felter
          else felt.landerPå(sp);          // kald landerPå() på sidste felt
          try { Thread.sleep(300); } catch (Exception e) {} // vent 0.3 sek
        }
    }
    
}
